home *** CD-ROM | disk | FTP | other *** search
- /inarcNEXT { /totKern totKern KernArray kerncount get add FXChar stringwidth pop add def
- 360 KernArray kerncount get mul 2 WorkRad mul Pi mul div rotate
- /kerncount kerncount 1 add def } def
- /outarcNEXT { /totKern totKern KernArray kerncount get add FXChar stringwidth pop add def
- 360 KernArray kerncount get mul 2 WorkRad mul Pi mul div neg rotate
- /kerncount kerncount 1 add def } def
- /CalcRadius { ClipStrg numeric
- { /Raid ClipStrg cvr def }
- { /Raid FXText stringwidth pop KernNet add 2 div Pi div FontSize
- TextDirection (In) eq {3 div add}
- { TextDirection (Out) eq {4 div sub} {pop} ifelse } ifelse def
- } ifelse } def
- /FindHalfAng { /HalfCharWidth FXChar stringwidth pop 2 div def
- 360 HalfCharWidth mul 2 WorkRad mul Pi mul div } def
- /Justify { stringwidth pop /Ww2 exch def /Rr2 exch def
- TextJustify (Left) eq { /Ww2 0 def } if
- TextJustify (Centre) eq { /Ww2 Ww2 KernNet add 2 div def } if
- TextJustify (Right) eq { /Ww2 Ww2 KernNet add def } if
- 360 Ww2 mul 2 Rr2 mul Pi mul div } def
- /OutChar { FXChar exch 0 exch put /HalfAng FindHalfAng def
- gsave HalfAng neg rotate Raid 0 translate -90 rotate
- FXChar stringwidth pop 2 div neg 0 moveto FXChar GrafProc
- grestore HalfAng 2 mul neg rotate outarcNEXT } def
- /InChar { FXChar exch 0 exch put /HalfAng FindHalfAng def
- gsave HalfAng rotate Raid 0 translate 90 rotate
- FXChar stringwidth pop 2 div neg 0 moveto FXChar GrafProc
- grestore HalfAng 2 mul rotate inarcNEXT } def
- /OutCText { /WorkRad Raid FontSize 4 div add def
- gsave CirclePlace WorkRad FXText Justify add rotate
- kR FXText { OutChar } forall grestore } def
- /InCText { /WorkRad Raid FontSize 3 div sub def
- gsave CirclePlace WorkRad FXText Justify sub rotate
- kR FXText { InChar } forall grestore } def
- /DoArcLayerWithGrafProc {
- TextDirection (In) eq { InCText } if
- TextDirection (Out) eq { OutCText } if } def
- /AngleOf { stringwidth pop 2 WorkRad mul Pi mul div 360 mul } def
- /RotClock { gsave HalfAng 2 div neg rotate Raid 0 translate -90 HalfAng -2 div add rotate
- FXChar stringwidth pop 2 div neg 0 moveto FXChar GrafProc grestore HalfAng neg rotate } def
- /RotCClock { gsave HalfAng 2 div rotate Raid 0 translate 90 HalfAng 2 div add rotate
- FXChar stringwidth pop 2 div neg 0 moveto FXChar GrafProc grestore HalfAng rotate } def
- /CalcSpiral { /Whirls Raid Complexity mul 25 div .5 add cvi def
- /AvgSize FXText stringwidth pop FXText length div def /TotalAngle 0 def
- /N Raid 2 mul Pi mul AvgSize div def
- /WorkRad Raid FontSize TextDirection (In) eq { 3 div sub } { 4 div add } ifelse def
- } def
- /DoSpiralLayerWithGrafProc { FXChar exch 0 exch put /HalfAng FXChar AngleOf def
- TextDirection (In) eq { RotCClock inarcNEXT } { RotClock outarcNEXT } ifelse
- DeltaScale dup scale } def
- /WhirlForAll { Whirls { kR FXText { DoSpiralLayerWithGrafProc } forall } repeat } def
-